#ifndef __SYSINPUT_H__
#define __SYSINPUT_H__

#include "KeyDef.h"
/**
    KEY OBJECT for registering key table.

    The project UI will receive the uiKeyEvent and the fpKeySoundCB \n
    is invoked with uiSoundID every time the key action matches the "uiKeyFlag and status".
*/
typedef struct _KEY_OBJ
{
    unsigned int      uiKeyFlag;   ///< Key flag, one bit of the flag represents a specified key.
    KEY_STATUS        status;      ///< Key status, refer to KEY_STATUS.
    unsigned int      uiKeyEvent;  ///< Key event.
    unsigned int      uiParam1;    ///< The parameter of posted uiKeyEvent.
    unsigned int      uiSoundID;   ///< The parameter of KeySoundCB.
} KEY_OBJ, *PKEY_OBJ;

/**
     @name Prototype of key and touch sound callback.
*/
typedef void (*KEY_SOUND_CB)(unsigned int uiSoundID);

#endif /* __SYSINPUT_H__ */
